This application relates to color conversion circuits and color conversion methods that convert input color data to generate output color data by performing interpolations from conversion coefficients stored in a three-dimensional look-up table (LUT).
In general, pictures output from image output devices, such as displays and printers, have specific characteristics depending on the liquid-crystal devices, ink-jet devices, or the like, that generate the pictures or images from data. Accordingly, means to convert input data to output data to be supplied to the liquid-crystal devices, ink-jet devices, or the like, in accordance with their characteristics are required. Specifically, output devices that output full-color pictures or images need to compensate for their characteristics in three primary colors of, for example, R (Red), G (Green), and B (Blue). Thus, output devices may include electric circuitries that perform conversions of the input color data to generate the output color data in accordance with their characteristics in all primary colors.
Conversions from input color data to output color data may be performed by, for example, i) preparing a mathematical formula (or function) for calculating the values of output color data from the values of input color data, or ii) providing a memory (or table) that stores the values of output color data corresponding to respective values of input color data. In particular, the latter method has an advantage that the values of output color data may be flexibly changed depending on the characteristics of the output devices, input data, preference of the users, or the like. Such color conversion functions have been implemented in television sets, digital still cameras, printers, or the like.
Recently, semiconductor integrated circuit devices that embody above-described color conversion functions are often incorporated in digital television sets that utilize liquid-crystal display or plasma display technologies, in order to compensate for the characteristics of these display technologies and to improve the image quality.
In actual color conversions, however, values of output color data cannot be expressed by a simple function of the values of input color data in, for example, RGB form. On the other hand, storing values of each output color data corresponding to values of each input color data (or coordinates of each input color data in the color space) in a memory requires a large memory capacity. Further, accesses to a memory having such a large capacity require long times. Accordingly, it is proposed to divide the three-dimensional color space, such as RGB color space, into a plurality of unit cubes having fixed dimensions, and to store conversion coefficients only at vertexes of the plurality of unit cubes in a LUT.
FIG. 7 schematically shows an exemplary LUT where coordinates in RGB color space of input color data in R, G, and B primary colors are expressed with 10-bit values R [9:0], G [9:0], and B [9:0]. That is, in the exemplary LUT shown in FIG. 7, input color data has value in each R, G, and B primary color ranging from 0 to 1023. In the exemplary LUT shown in FIG. 7, the RGB three-dimensional color space is divided into 512 unit cubes each having a dimension of 128 (R)×128 (G)×128 (B). The exemplary LUT stores conversion coefficients at vertexes of respective 512 unit cubes.
By using the LUT described above, an average value of conversion coefficients at vertexes around the input color data may be calculated. The average value thus calculated is often utilized as the value of output color data when converting luminance information alone, or when expressing color data with a redundant system with more than three primary colors like the case of a printer. However, when both input and output color data are in the same color space, such as RGB color space, as in the case of an image-quality improving circuit for TVs, for example, it is desirable that values in respective primary colors can be converted independently. Accordingly, as shown in FIG. 8, an interpolation is performed independently for each of RGB color values from conversion coefficients at eight vertexes of a unit cube in which the input color data is positioned
FIG. 8 shows one of the unit cubes having vertexes S0, S1, S2, S3, S4, S5, S6, and S7, and input color data positioned within the unit cube. In FIG. 8, vertex S3, which adjoins the vertexes S0, S2, and S7, is on the rear side of the sheet, and is not shown. The input color data has values (or coordinates) R, G, and B in respective primary colors. In other words, the coordinates (R, G, B) define the position of the input color data in the RGB color space.
When the input color data does not match any of the vertexes S0 to S7 of the unit cube, the unit cube is divided into 8 regions (rectangular parallelepipeds) A to H, each sharing the input color data (R, G, B) as a vertex. In FIG. 8, the region E is located on the rear side of the sheet, and is not shown. The region E is a rectangular parallelepiped having the vertex S3 and the input color data (R, G, B) on either end of its diagonal line. In a conventional color conversion method, an interpolation from the conversion coefficients at the vertexes S0 to S7 by using volumes of the eight divided regions (rectangular parallelepipeds) is performed to generate output color data. See, for example, British Patent No. 1595122 (Patent Document 1), which is incorporated by reference in its entirety.
However, a balance between the values in RGB primary colors may be changed by the above-described interpolation technique. That is, even if input color data is gray (achromatic) with equal R, G, and B primary color values, output color data after the conversion may be non-gray (chromatic) with non-equal primary color values. Because human eyes are sensitive between gray (achromatic) and non-gray (chromatic) colors, such change by the conversion may be viewed as a non-natural change of the image that lacks continuity of color.
In order to address the above-described problem, Japanese Laid-open Patent 2004-179819 (Patent Document 2), which is incorporated by reference in its entirety, discloses a color conversion processing apparatus, a color conversion processing program and a color conversion processing method.
Patent Document 2 proposed to divide the unit cube into a plurality of regions and to perform interpolations using different interpolation equations for respective regions. However, because the color conversion processing apparatus disclosed in Patent Document 2 employs different interpolation equations for respective regions, a plurality of interpolation circuits is required for performing interpolations using respective interpolation equations. As a result, the size of circuitry increases.